package io.adrainty.bolee.security.repository;

import io.adrainty.bolee.framework.commons.user.UserEntity;
import jakarta.annotation.Nullable;

/**
 * @author AdRainty
 * @version V1.0.0
 * @since 2025/8/3 上午1:04
 */
public interface ICustomerRepository {

    /**
     * 根据用户名查找用户
     * @param username 用户名
     * @param company 公司
     * @return 用户
     */
    @Nullable
    UserEntity findByUsername(String username, String company);

    /**
     * 根据手机号查找用户
     * @param mobile 手机号
     * @param company 公司
     * @return 用户
     */
    @Nullable
    UserEntity findByMobile(String mobile, String company);

    /**
     * 根据微信openId查找用户
     * @param openId 微信openId
     * @param company 公司
     * @return 用户
     */
    @Nullable
    UserEntity findByOpenId(String openId, String company);

}
